The fairness of Transmission Control Protocol (TCP) congestion control typically depends on cooperation of the endpoints of a packet flow and the congestion points within the flow. The endpoints may adjust their send rate based on perceived network conditions (delay and packet loss) and routers near the congestion points within the flow can drop packets fairly for the competing flows in case of congestion. The congestion controls that work for TCP, however, do not work properly in wireless and ad hoc networks and, in particular, in multi hop wireless mesh networks. The congestion point in wireless networks is typically the RF channel. Competing flows in ad hoc wireless networks may not share any single node that could play the role of a router in the TCP congestion control scheme. Additionally, there is no shared queue and no central point to schedule and drop packets fairly. In the absence of this mechanism, the nodes compete for the RF channel at the 802.11 Media Access Control (MAC) level. Furthermore, while MAC provides access control for the individual nodes, in multi hop wireless mesh networks some flows can be routed through several nodes, leading to additional unfairness at the flow level. This results in some flows getting unfair proportion of the RF channel.